﻿$(document).ready(
    function() {  	
        var userContactsObject=localCache.getSessionItem('user_contacts');
        var contacts=localCache.getSessionItem('contacts');
		var loadPrompt;
        //获取所有的已选的用户信息，拼成json串
        function getCallerInfoJson(){
            var obj = [];
            var caller={};
            caller.name=$('.master h3').text();
            caller.telephone=$('.master span').text();
            caller.type='main';
            obj.push(caller);
            //获取全部的被叫信息
            $('#content dl').each(function(){
                var person={};
                person.name=$(this).find('dt h2').text();
                person.telephone=$(this).find('dt span').text();
                person.type=$(this).find('dd input').val();
                obj.push(person);
            });
            var json = eval(obj);
            //返回json字符串
            return json;
        }
        
        var queryString = decodeURI(window.location.search.substr(1));
	    //返回事件
	    $('#meetback').on('click',function(){  
			var hasCached = meetCache.hasMeetStorage();
			var index = hasCached ? 10 : 0;
			router(index, '', true);
	    });
        
        if(!window.localStorage){
            new UserPrompt('您所使用的浏览器版本太低，或不支持本页面，请更换浏览器并重试！');
        }else{
            //使用的域名
            var abilityUrl = localCache.getSessionItem("abilityUrl");
            //账号标识
            var account_identify = localCache.getSessionItem("account_identify");
            var app_key = localCache.getSessionItem("account_identifer");
            //时间戳
            var timestamp = localCache.getSessionItem("timestamp");
            //加密串
            var sign = localCache.getSessionItem("sign");
            //用户id
            var userId = localCache.getSessionItem("userId");

            //获取josn字符串
            var josnString=matchQueryString(queryString,"data")||'';
            //判断获取的参数是否为空，如果为空则不获取
            var obj="";
            if(josnString!=''){
                obj=JSON.parse(josnString)['data'];
            }
            //人数提示
            //总人数
            var sumPerson=obj.length-1,callees=[];
            $('.launch_tip').text('已添加'+sumPerson+'人');
            for(var i=0;i<obj.length;i++){
                if(i==0){
                    //写入主叫名称
                    $('.master h3').text(obj[i]['name']);
                    $('.master span').text(obj[i]['telephone']);
                }else{
                    $('#content').append("<dl id='"+obj[i]['telephone']+"'><dt><h2>"+obj[i]['name']+"</h2><span>"+obj[i]['telephone']+"</span></dt>"+"<dd><img src=\"images/delete.png\" width=\"20\" height=\"20\"><input type='hidden' value='"+obj[i]['type']+"'></dd></dl>");
                    callees.push(obj[i]['telephone']);
                }
            }
            
    		var oAdd=$('#add'),inputContact=$('#inputContact');
    		var oOk=$('#ok').on('click',function(){
    			var validateResult,tel=inputContact.val(),telephone=$('.master span').text();
                validateResult=validateNumber(tel);
    			if (!validateResult.success) { 
    				new UserPrompt(validateResult.msg);
    				return;   
    			}
    			if(tel===telephone){
    				new UserPrompt('不能添加主叫进入会议，请重新输入');
    				return;
    			}
    			if(sumPerson===9){
    				new UserPrompt('最多只能添加9位参会人');
    				return;
    			}
    			if(callees.join(',').indexOf(tel)>-1){
    				new UserPrompt('参会人'+tel+'已经添加，请重新输入');
    				return;
    			}
    			sumPerson++;
    			var name=tel,type='',elem;
				var re=new RegExp('\{[^\{]+"'+tel+'"[^\}]+\}','g');
				(function(){
					for (var k=0;k<arguments.length;k++) {
						if(arguments[k]!==null&&arguments[k]!==''){
		    				var result=re.exec(arguments[k]);
		    				if(result!=null&&result[0]){
		    					elem=JSON.parse(result[0]);
		    					name=elem.name;
		    					type=elem.type;
		    					break;
		    				}
						}
					}
				})(contacts,userContactsObject);
                $('#content').append("<dl id='"+tel+"'><dt><h2>"+name+"</h2><span>"+tel+"</span></dt>"+"<dd><img src=\"images/delete.png\" width=\"20\" height=\"20\"><input type='hidden' value='"+type+"'></dd></dl>");
                callees.push(tel);
                inputContact.val('');
                $('.launch_tip').text('已添加'+sumPerson+'人');
    			oAdd.css('display','block');
    			oOk.css('display','none');
    			inputContact.focus();
    		});
    		inputContact.on('input',function(){
        		var input=inputContact.val();
        		if(input&&input.length===1){
        			oOk.css('display','block');
    				oAdd.css('display','none');
        		}
        		if(!input){
        			oAdd.css('display','block');
        			oOk.css('display','none');
        		}
        	});
    		
            //------------------向html中写值end---------------------
            //设置滚动显示
            var content = $('#content');

            //------------------获取html中值strat---------------------
            var count = 0;// 当前已经加入的被叫号数量
            var calleeNames=[];//被叫人姓名
            
            function createMptyMeeting(callerNum,calleeNumbers){
                $.ajax({  
                    type: "get",
                    dataType: "jsonp",
                    url: abilityUrl + "/MPTYv4/createConference.do",
                    async: true,
                    data: {
                        'cust_account': account_identify,
                        'caller': callerNum,
                        'ext_terminalCode': userId,
                        'called': calleeNumbers.join(","),
                        'timestamp': timestamp,
                        'sign': sign,
                        'app_key':app_key
                    },
					beforeSend:function(){
						if(!loadPrompt)
						  loadPrompt=new LoadPrompt('发起会议中...');
					},
                    success: function (json) {
                        if (json['result'] == '0') {
                            //拼写参与人和相应信息
                            var jsonString = [];
                            var jsonData = {};
                            jsonData.data = getCallerInfoJson();
                            jsonData.session_id = json['sessionId'];
                            jsonData.type='TalksV2';
                            jsonString.push(jsonData);
                            var json = eval(jsonString);

                            //拼写向本地存储记录信息
                            //默认通话状态为失败
                            jsonData.status='fail';
                            //写入时间
                            jsonData.time=new Date().getDateTime();
                            //写入本地存储
                            meetCache.storageMeet(jsonData);
                            location.assign("meeting.html?data=" + JSON.stringify(json));
                        } else {
                            new UserPrompt(json['describe']+"请稍后再试！");  
                        }
                    },
                    complete: function () {
						if(loadPrompt){
							loadPrompt.close();
							loadPrompt=null;
						}
                    }
                });
            }

            $('#talk').on('click', function() {
				var calleeNumbers=[];//被叫人电话
                //主叫号码
                var callerNum=$('.master span').text();
                count=0;

                //获取全部的被叫信息
                $('#content dl').each(function(){
                    calleeNumbers.push($(this).find('dt span').text());
                    count++;
                });
                if (count == 0) {
					new UserPrompt('请先添加联系人');
                    return;
                }else {  
                	if(count===1){//两方通话
                     var baseContext=$('#content dl');
                     $.ajax({  
                         type: "get",
                         dataType: "jsonp",
                         url: abilityUrl + "/v4/h5/getAccountBalancesByAbilityType.do",
                         async: true,
                         data: {
                             'cust_account': account_identify,
                             'ability_type':'mpty,dial'
                         },
                         beforeSend:function(){
     						loadPrompt=new LoadPrompt('发起会议中...');
                         },
                         success: function (json) {
                             if (json['result'] == '0000') {
                            	 if(json['dial']==='0'&&json['mpty']==='1'){//两方通话没有余额，多方通话有余额
                            		 if(loadPrompt){
             							loadPrompt.close();
             							loadPrompt=null;
             						 }
                                     new ConfirmPrompt('您的两方通话额度已用尽，是否使用多方通话通道发起通话？',{
                                    	 save:function(prompt){
                                    		prompt.close();
                                         	createMptyMeeting(callerNum,calleeNumbers);
                                    	 } 
                                     }); 
                            	 }else{
                               		 location.assign("two_call.html?caller="+callerNum+"&called="+calleeNumbers[0]+"&calledName="+baseContext.find('dt h2').text()+"&calledType="+baseContext.find('dd input').val());
                            	 }                          		                            	 
                             }
                         },
                         error:function(){
                        	 if(loadPrompt){
     							loadPrompt.close();
     							loadPrompt=null;
     						}
                         }
                     });
                	}else{
                    	createMptyMeeting(callerNum,calleeNumbers);
                	}
                }
            });
            //------------------获取html中值end---------------------
            //------------------点击添加人员start---------------------
            oAdd.on('click', function() {
                var jsonData = {};
                jsonData.data = getCallerInfoJson();
                var json = eval(jsonData);
                location.assign("index.html?referrer=2&data=" + JSON.stringify(json));
            });
            //------------------点击添加人员end---------------------
            //------------------点击删除人员start---------------------
            $(document.body).on('click','.launch_partner dl img',function() {        	
			    var callee=$(this); 
			    callees.splice(callee.index(),1);
                callee.parent().parent().remove();
                sumPerson--;
                $('.launch_tip').text('已添加'+(sumPerson)+'人');
            });
            //------------------点击删除人员end---------------------
        }
        

    }
);